#include<stdio.h>
#include<math.h>

int main()
{
	int n,i;
	double t,a,v,l,d,w;
	scanf("%d",&n);
	for (i=0;i<n;i++)
	{
		scanf("%lf%lf%lf%lf%lf",&a,&v,&l,&d,&w);
		t=0;
		if (v>w)
		{
			if (d<(w*w)/2/a)
			{
				t+=sqrt(2*d/a);
				if (l-d<(v*v-2*a*d)/2/a)
					t+=(sqrt(2*a*l)-sqrt(2*a*d))/a;
				else
					t+=(2*a*l+v*v-2*v*sqrt(2*a*d))/2/a/v;
			}
			else if (d>(2*v*v-w*w)/2/a)
			{
				t+=(2*a*d+2*v*v+w*w-2*v*w)/2/a/v;
				if (l-d>(v*v-w*w)/2/a)
					t+=(2*a*l-2*a*d+v*v+w*w-2*w*v)/2/a/v;
				else
					t+=(sqrt(w*w-2*a*d+2*a*l)-w)/a;
			}
			else
			{
				t+=(sqrt(2*w*w+4*a*d)-w)/a;
				if (l-d>(v*v-w*w)/2/a)
					t+=(2*a*l-2*a*d+v*v+w*w-2*w*v)/2/a/v;
				else
					t+=(sqrt(w*w-2*a*d+2*a*l)-w)/a;
			}
		}
		else
		{
			if (d>(v*v)/2/a)
			{
				t+=(v*v+2*a*d)/2/a/v;
				t+=(l-d)/v;
			}
			else
			{
				t+=sqrt(2*d/a);
				if (l-d<(v*v-2*a*d)/2/a)
					t+=(sqrt(2*a*l)-sqrt(2*a*d))/a;
				else
					t+=(2*a*l+v*v-2*v*sqrt(2*a*d))/2/a/v;
			}
			
		} 
		printf("%.5lf\n",t);
	}
	return 0;
}
